const express=require('express')
const server=express();
// 安装svg-captcha模块 npm install --save svg-captcha
const svgCap=require('svg-captcha')
// 安装express-session npm install --save express-session
const session = require('express-session')
server.use(session({
    secret:'mykey'
}))


// 将public文件夹作为静态托管目录
// 在public目录下新建login.html   可以之间访问它
server.use(express.static('public'))


// 编写一个接口处理/getcode请求，返回svg图片
server.get('/getcode',(req,res)=>{
    // 生成验证码
    let cap = svgCap.create();
    console.log('生成的验证码是: '+cap.text);
    // 向当前会话中存储answer属性，保存为正确的验证码字符串
    // req.session拿到的是与当前客户端绑定在一起的sid所对应的session对象
    // 将正确的验证码存入到session
    req.session.answer=cap.text;
    res.type('svg');
    res.send(cap.data);//返回图片
})


// 登录验证验证码接口
server.get('/login',(req,res)=>{
    // 获取请求
    let ucode=req.query.code;
    console.log('用户输入的验证码为: '+ucode);
    let answer=req.session.answer;
    console.log('正确答案是: '+answer);
    if(ucode==answer){
        res.send('验证成功...')
    }else{
        res.send('验证失败...')
    }
})


server.listen(8080,function(){
    console.log('server is running...');
})